Use case: I2C slave receive in interrupt mode

This use case shows how to perform a slave receive operation using interrupts.

Sequence diagram

@startuml
  participant "User Application" as App
  participant "HAL I2C" as HAL_I2C

  == Slave Receive IT ==
  App -> HAL_I2C: HAL_I2C_Slave_Receive_IT(&hi2c2, aRxBuffer, RXBUFFERSIZE)

  @enduml

Code snippet

HAL1

HAL2

HAL_I2C_Slave_Receive_IT(&hi2c2, aRxBuffer, RXBUFFERSIZE);
HAL_I2C_SLAVE_Receive_IT(&hi2cx, RxBuffer, NumData);

Key changes

  1. HAL2 uses renamed I2C interrupt APIs (for example, HAL_I2C_SLAVE_Receive_IT() instead of HAL_I2C_Slave_Receive_IT()).